package com.zzyl.service;

import com.aliyun.iot20180120.models.*;
import com.zzyl.base.PageResponse;
import com.zzyl.dto.DeviceDto;
import com.zzyl.dto.DevicePageQueryDto;
import com.zzyl.vo.DeviceVo;
import com.zzyl.vo.ProductVo;

import java.util.List;

/**
* @author 付远杰！
* @description 针对表【device】的数据库操作Service
* @createDate 2024-05-23 21:51:57
*/
public interface DeviceService {

    void syncProductList();

    List<ProductVo> allProduct();

    PageResponse<DeviceVo> getAllDevice(DevicePageQueryDto devicePageQueryDto);

    void registerDevice(DeviceDto deviceDto);

    DeviceVo queryDeviceDetail(QueryDeviceDetailRequest request);

    QueryDevicePropertyStatusResponseBody.QueryDevicePropertyStatusResponseBodyData queryDevicePropertyStatus(QueryDevicePropertyStatusRequest request);

    QueryThingModelPublishedResponseBody.QueryThingModelPublishedResponseBodyData queryThingModelPublished(QueryThingModelPublishedRequest request);


    void updateDevice(DeviceDto deviceDto);

    void deleteDevice(DeleteDeviceRequest request);
}
